// 新增页面初始化逻辑

import renderPhoto from './renderPhotoItem';

const formLists = ['bd_psndoc', 'hi_psnjob_h', 'hi_psnorg_h'];

export default function(show) {
    const {
        form,
        addPageTemplate,
        cardTable,
        meta: {
            getMeta
        }
    } = this.props;
    // 设置三个表单的编辑态
    formLists.map((item) => {
        form.setFormStatus(item, 'edit');
    });
    
    
    
    // 设置表格数据
    addPageTemplate.areaCodeList.map((item) => {
        if(addPageTemplate.certGrid&&addPageTemplate.certGrid[item]) {
            cardTable.setTableData(item, addPageTemplate.certGrid[item]);
        }
        else if(addPageTemplate.trainGrid&&addPageTemplate.trainGrid[item]) {
            cardTable.setTableData(item, addPageTemplate.trainGrid[item]);
        }
        else {
            // cardTable.setTableData(item, {rows:[]}, null, false);
        }
    });

    // 出现了一个很奇怪的bug，只有新增数据的时候，表格的必填列上才会出现红色的星号
    // 所以这里做了个极端的事情就是，先新增一行在删除一行
    addPageTemplate.areaCodeList.map((item) => {
        if(!formLists.includes(item)) {
            cardTable.addRow(item, 0, {}, false);
            cardTable.delRowsByIndex(item, 0);
        }
    });
    
    // 设置三个form表单数据
    form.setAllFormValue({
        'bd_psndoc': addPageTemplate['psndocForm']['bd_psndoc'],
        'hi_psnjob_h': addPageTemplate['psnjobForm']['hi_psnjob_h'],
        'hi_psnorg_h': addPageTemplate['psnorgForm']['hi_psnorg_h']
    });
    
    // 业务子集的状态
    addPageTemplate.busiSet.map((item) => {
        if(item !== 'hi_psndoc_keypsn') {
            cardTable.setStatus(item, 'browse');
        }
    });

    cardTable.toggleCardTable(addPageTemplate.areaCodeList, false);

    setTimeout(() => {
        renderPhoto.call(this);
    },100)
    
}
